The invention relates to caching where portions of data are stored in slower main memory and are transferred to faster memory between one or more processors and the main memory. The system is such that an individual cache system must announce to other cache systems or check with other cache systems which may possibly contain a copy of a given cached location prior to or upon modification or appropriation of data at a given cached location, and includes provisions for determining when the data stored in an particular memory location may be replaced.
When a processor, e.g., processor A, requests a given line for store (“EX” or exclusive request) that given line is installed in both the L1 and the L2 caches as exclusive to processor A. When another processor, e.g., processor B, requests the given line, processing is elongated if the given line is held exclusive to processor A.
However, as is often the case, processor A is no longer using the given line, and, in fact the given line has aged out of the L1 cache and is only in the L2 cache. Nevertheless, the given line is still marked exclusive to processor A. Thus extra processing, such as cross investigating and cross invalidating, is required to remove this given line from the L1 cache.
In many cases as described here, this given line no longer exists in the L1cache. This unnecessarily elongates the fetch request for the processor B, reducing performance. Thus a need exists to speed up this process.
In many cases as described here, this line no longer exists in L1. This unnecessarily elongates the fetch request for processor B, reducing performance. Thus a need exists to speed up this process.